Many everyday objects now include network capabilities. For example, these objects may connect to a server on the Internet to record status information or measurements that relate to the object. Additionally, the objects can receive information, instructions, and new software from the server as well. For example, using this capability, a manufacturer may deploy a firmware upgrade for some of the objects without requiring any user interaction with the object by its owner.
Generally, these network-enabled objects generate machine-to-machine communication. That is, one machine, the object, communicates with another machine, the server. However, this machine-to-machine communication is only possible when the object and the server are able to connect to one another through a network.
Because the objects are deployed in a wide variety of environments, the manufacturer, seller, or installer of the object may not be able to control, configure, or even access the network in the environment. Additionally, often the owner or user of the object or manager of the environment where the object is being installed will not want to reveal information about the network to the installer.